<template>
	
	<div class="icons">
		<swiper :options="swiperOption" v-if="list.length">
			<swiper-slide v-for="(page, index) of pages" :key="index">
				<div class="icon" v-for="item of page" :key="item.id">
					<div class="icon-img">
						<img class="icon-img-content" :src="item.imgUrl" alt="">
						<p class="icon-desc">{{item.desc}}</p>
					</div>  
				</div>
			</swiper-slide>
		</swiper> 
	</div>
</template>
	 
<script>
	export default {
		name : 'Icons',
		props:{
			list :Array
		},
		data(){
			return {
				swiperOption : {
				}
			}
		},
		computed:{
			//通过计算属性将一组数据用类似分页的方式拆分成若干数组
			pages(){
				const pages = []
				this.list.forEach((item, index) => {
					const page = Math.floor(index/8)
					if(!pages[page]){
						pages[page] = []
					}
					pages[page].push(item)
				})
				return pages
			}
		}
		
	}
</script>



<style lang="stylus" scoped>
	@import '~styles/varibles.styl'
	@import '~styles/mixins.styl'
	.icons
	 margin-top:.1rem
	 height:0 
	 overflow:hidden
	 padding-bottom:50%
	 .icon
	  position:relative
	  float:left
	  width:25%
	  padding-bottom:25%
	  overflow:hidden
	  .icon-img
	   position:absolute
	   top:0
	   left:0
	   right:0
	   bottom:.44rem
	   text-align:center
	   box-sizing:border-box
	   padding:.1rem 
	   .icon-img-content
	    height:100% 
	  .icon-desc
	   height:.44rem
	   line-height:.44rem
	   color:$darkTextColor
	   ellipsis()
	   
</style>